package com.hlt.service;

import com.hlt.dto.CommentsDTO;
import com.hlt.dto.CommentsPageQueryDTO;
import com.hlt.entity.Comments;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hlt.result.PageResult;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author lzf
 * @since 2024-11-25
 */
public interface ICommentsService extends IService<Comments> {

    /**
     * 发表评论
     * 
     * @param commentsDTO 评论信息
     */
    void addComment(CommentsDTO commentsDTO);

    /**
     * 删除评论
     * 
     * @param commentId 评论ID
     */
    void deleteComment(Integer commentId);

    /**
     * 获取用户的评论列表
     * 
     * @param pageQueryDTO 分页查询参数
     * @return 评论列表
     */
    PageResult getUserComments(CommentsPageQueryDTO pageQueryDTO);

    /**
     * 获取文章的评论列表（包含二级评论）
     * 
     * @param pageQueryDTO 分页查询参数
     * @return 评论列表
     */
    PageResult getPostComments(CommentsPageQueryDTO pageQueryDTO);

    /**
     * 分页查询(管理端)
     *
     * @param commentsPageQueryDTO 分页查询参数
     * @return 评论列表
     */
    PageResult pageQuery(CommentsPageQueryDTO commentsPageQueryDTO);
}
